/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Testes.comThreads;

public class SimplesThreadMain {

        public static void main(String[] args) {
               
              /*-- Iniciando a Thread que é herança da classe Thread --*/
               SimplesThread e = new  SimplesThread();   //Cria o contexto de execução
               e.start();                             //Ativa a thread
               
               
               /*-- Iniciando a Thread que implementa a interface Runnable --*/
               //SimplesThread2 e2 = new  SimplesThread2();   //Cria o contexto de execução
               //Thread t2 = new Thread(e2);
               
               //t2.start();
        }
}

/*
 *  Metodos para lidar com Threads
 * 
 * 7.  Thread(...) – construtor da classe. Permite que seja instanciado um objeto do tipo Thread; 
 * 8.  void run() – Deve conter o código que se deseja executar, quando a thread estiver ativa; 
 * 9.  void start() – Inicia a thread. Ou seja, efetiva a chamada do método run(); 
 * 10. void stop() – encerra a thread; 
 * 11. static void sleep(long tempo) – deixa thread corrente inativa por no mínimo tempo milisegundos e promove outra thread. Note que este método é de classe e, conseqüentemente, uma thread não pode fazer outra thread dormir por um tempo; 
 * 12. static void yield() – Deixa a thread em execução temporariamente inativa e, quando possível, promove outra thread de mesma prioridade ou maior; 
 * 13. void suspend() – Coloca a thread no final da fila de sua prioridade e a deixa inativa (método deprecado); 
 * 14. void resume() – Habilita novamente a execução da thread. Este método deve ser executado por outra thread, já que a thread suspensa não está sendo executada (método deprecado); 
 * 15. void interrupt() – envia o pedido de interrupção de execução de uma thread; 
 * 16. static boolena interrupted() – Verifica se a thread atual está interrompida; 
 * 17. void join() – Aguarda outra thread para encerrar; 
 * 18. boolean isAlive() – retorna true caso uma thread estiver no estado executável ou bloqueado. Nos demais retorna false; 
 * 19. void setPriority(int prioridade) – Define a prioridade de execução de uma thread. Os valores de prioridade estão entre 1 e 10; 
 * 20. int getPriority() – verifica a prioridade de execução de uma thread; 
 * 21. synchronized – mecanismo que permite ao programador controlar threads, para que as mesmas possam compartilhar a mesma base de dados sem causar conflitos; 
 * 22. void wait() – Interrompe a thread corrente e coloca a mesma na fila de espera (do objeto compartilhado) e aguarda que a mesma seja notificada. Este método somente pode ser chamado dentro de um método de sincronizado; 
 * 23. void notify() – Notifica a próxima thread, aguardando na fila; 
 * 24. void notifyAll() – Notifica todas as threads. 
 *
*/